/**
 * @Author: zxc
 * @Date: 2020-11-05 13:03:33
 * @func:整数反转
 */

/**
 * @param {number} x
 * @return {number}
 */
// var reverse = function(x) {
//   if(x === 0) return 0
//   let res = 0
//   while(x){
//       res = res * 10 + x % 10;
//       x = (x / 10) | 0
//   }
//   return (res | 0) === res ? res : 0
// };

/**
 * @param {number} x
 * @return {number}
 */
// var reverse = function(x) {
//   if(x === 0) return 0
//   let temp = Math.abs(x),
//       res = 0
//   while(temp){
//       res = res * 10 + temp % 10;
//       temp = Math.floor(temp / 10);
//   }
//   if(res > 2**31) return 0
//   return x > 0 ? +res : -res
// };

/**
 * @param {number} x
 * @return {number}
 */
// var reverse = function(x) {
//   if(x === 0 ) return 0
//   let res = String(Math.abs(x)).split('').reverse().join('')
//   if((res | 0) !=res) return 0
//   return x > 0 ? +res : -res
// };

/**
 * @param {number} x
 * @return {number}
 */
var reverse = function (x) {
  if (x === 0) return 0
  let res = String(Math.abs(x)).split("").reverse().join("")
  if (res > Math.pow(2, 31)) return 0
  return x > 0 ? +res : -res
}
